<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>BitFunnel</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/BitFunnel"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-BitFunnel rootpage-BitFunnel skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">BitFunnel</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">"WorkBench" redirects here. For other uses, see <a href="Workbench_(disambiguation)" class="mw-disambig" title="Workbench (disambiguation)">Workbench (disambiguation)</a>.</div>
<style data-mw-deduplicate="TemplateStyles:r1295905060">
/* start https://en.wikipedia.org/ */
.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}
/* end https://en.wikipedia.org/ */
</style><table class="infobox vevent"><tbody><tr><th colspan="2" class="infobox-above summary">BitFunnel</th></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="Programmer" title="Programmer">Developer(s)</a></th><td class="infobox-data"><a href="Microsoft" title="Microsoft">Microsoft</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Initial release</th><td class="infobox-data">2016<span style="display:none"> (<span class="bday dtstart published updated">2016</span>)</span></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="Repository_(version_control)" title="Repository (version control)">Repository</a></th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="https://github.com/BitFunnel">github<wbr>.com<wbr>/BitFunnel</a></span></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Written in</th><td class="infobox-data"><a href="C%2B%2B" title="C++">C++</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="Computing_platform" title="Computing platform">Platform</a></th><td class="infobox-data"><a href="Microsoft_Windows" title="Microsoft Windows">Windows</a>, <a href="MacOS" title="MacOS">macOS</a>, <a href="Ubuntu" title="Ubuntu">Ubuntu</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="Software_categories#Categorization_approaches" title="Software categories">Type</a></th><td class="infobox-data"><a href="Search_engine_indexing" title="Search engine indexing">Search engine indexing</a> algorithm</td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="Software_license" title="Software license">License</a></th><td class="infobox-data"><a href="MIT_License" title="MIT License">MIT License</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Website</th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="https://bitfunnel.org/">bitfunnel<wbr>.org</a></span></td></tr></tbody></table>
<p><b>BitFunnel</b> is the <a href="Search_engine_indexing" title="Search engine indexing">search engine indexing</a> algorithm and a set of components used in the <a href="Bing_(search_engine)" class="mw-redirect" title="Bing (search engine)">Bing search engine</a>,<sup id="cite_ref-InfoWorld_1-0" class="reference"><a href="#cite_note-InfoWorld-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> which were made open source in 2016.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> BitFunnel uses bit-sliced signatures instead of an <a href="Inverted_index" title="Inverted index">inverted index</a> in an attempt to reduce operations cost.<sup id="cite_ref-:0_3-0" class="reference"><a href="#cite_note-:0-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>Progress on the implementation of BitFunnel was made public in early 2016, with the expectation that there would be a usable implementation later that year.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> In September 2016, the source code was made available via <a href="GitHub" title="GitHub">GitHub</a>.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> A paper discussing the BitFunnel algorithm and implementation was released as through the <a href="Special_Interest_Group_on_Information_Retrieval" title="Special Interest Group on Information Retrieval">Special Interest Group on Information Retrieval</a> of the <a href="Association_for_Computing_Machinery" title="Association for Computing Machinery">Association for Computing Machinery</a> in 2017 and won the Best Paper Award.<sup id="cite_ref-:0_3-1" class="reference"><a href="#cite_note-:0-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Components">Components</h2></div>
<p>BitFunnel consists of three major components:<sup id="cite_ref-InfoWorld_1-1" class="reference"><a href="#cite_note-InfoWorld-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>BitFunnel – the text search/retrieval system itself</li>
<li>WorkBench – a tool for preparing text for use in BitFunnel</li>
<li>NativeJIT – a software component that takes expressions that use <a href="C_(programming_language)" title="C (programming language)">C</a> <a href="Data_structure" title="Data structure">data structures</a> and transforms them into highly optimized <a href="Assembly_code" class="mw-redirect" title="Assembly code">assembly code</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Algorithm">Algorithm</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Initial_problem_and_solution_overview">Initial problem and solution overview</h3></div>
<p>The BitFunnel paper describes the "matching problem", which occurs when an algorithm must identify documents through the usage of keywords. The goal of the problem is to identify a set of matches given a corpus to search and a query of keyword terms to match against. This problem is commonly solved through <a href="Inverted_index" title="Inverted index">inverted indexes</a>, where each searchable item is maintained with a <a href="Map_(computer_science)" class="mw-redirect" title="Map (computer science)">map</a> of keywords.<sup id="cite_ref-:0_3-2" class="reference"><a href="#cite_note-:0-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p><p>In contrast, BitFunnel represents each searchable item through a signature. A signature is a sequence of bits which describe a <a href="Bloom_filter" title="Bloom filter">Bloom filter</a> of the searchable terms in a given searchable item. The bloom filter is constructed through hashing through several bit positions.<sup id="cite_ref-:0_3-3" class="reference"><a href="#cite_note-:0-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Theoretical_implementation_of_bit-string_signatures">Theoretical implementation of bit-string signatures</h3></div>
<p>The signature of a document (D) can be described as the logical-or of its term signatures:
</p><p><span class="mwe-math-element mwe-math-element-block"><span class="mwe-math-mathml-display mwe-math-mathml-a11y" style="display: none;"><math display="block" xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\overrightarrow {S_{D}}}=\bigcup _{t\in D}{\overrightarrow {S_{t}}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>D</mi>
</mrow>
</msub>
<mo>→<!-- → --></mo>
</mover>
</mrow>
<mo>=</mo>
<munder>
<mo>⋃<!-- ⋃ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>∈<!-- ∈ --></mo>
<mi>D</mi>
</mrow>
</munder>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msub>
<mo>→<!-- → --></mo>
</mover>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\overrightarrow {S_{D}}}=\bigcup _{t\in D}{\overrightarrow {S_{t}}}}</annotation>
</semantics>
</math></span></span>
</p><p>Similarly, a query for a document (Q) can be defined as a union:
</p><p><span class="mwe-math-element mwe-math-element-block"><span class="mwe-math-mathml-display mwe-math-mathml-a11y" style="display: none;"><math display="block" xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\overrightarrow {S_{Q}}}=\bigcup _{t\in Q}{\overrightarrow {S_{t}}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>Q</mi>
</mrow>
</msub>
<mo>→<!-- → --></mo>
</mover>
</mrow>
<mo>=</mo>
<munder>
<mo>⋃<!-- ⋃ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>∈<!-- ∈ --></mo>
<mi>Q</mi>
</mrow>
</munder>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msub>
<mo>→<!-- → --></mo>
</mover>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\overrightarrow {S_{Q}}}=\bigcup _{t\in Q}{\overrightarrow {S_{t}}}}</annotation>
</semantics>
</math></span></span>
</p><p>Additionally, a document D is a member of the set <i>M'</i> when the following condition is satisfied:
</p><p><span class="mwe-math-element mwe-math-element-block"><span class="mwe-math-mathml-display mwe-math-mathml-a11y" style="display: none;"><math display="block" xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\overrightarrow {S_{Q}}}\cap {\overrightarrow {S_{D}}}={\overrightarrow {S_{Q}}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>Q</mi>
</mrow>
</msub>
<mo>→<!-- → --></mo>
</mover>
</mrow>
<mo>∩<!-- ∩ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>D</mi>
</mrow>
</msub>
<mo>→<!-- → --></mo>
</mover>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>Q</mi>
</mrow>
</msub>
<mo>→<!-- → --></mo>
</mover>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\overrightarrow {S_{Q}}}\cap {\overrightarrow {S_{D}}}={\overrightarrow {S_{Q}}}}</annotation>
</semantics>
</math></span></span>
</p><p>This knowledge is then combined to produce a formula where <i>M'</i> is identified by documents which match the query signature:
</p><p><span class="mwe-math-element mwe-math-element-block"><span class="mwe-math-mathml-display mwe-math-mathml-a11y" style="display: none;"><math display="block" xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle M'=\left\{D\in C\mid {\overrightarrow {S_{Q}}}\cap {\overrightarrow {S_{D}}}={\overrightarrow {S_{Q}}}\right\}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>M</mi>
<mo>′</mo>
</msup>
<mo>=</mo>
<mrow>
<mo>{</mo>
<mrow>
<mi>D</mi>
<mo>∈<!-- ∈ --></mo>
<mi>C</mi>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>Q</mi>
</mrow>
</msub>
<mo>→<!-- → --></mo>
</mover>
</mrow>
<mo>∩<!-- ∩ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>D</mi>
</mrow>
</msub>
<mo>→<!-- → --></mo>
</mover>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>Q</mi>
</mrow>
</msub>
<mo>→<!-- → --></mo>
</mover>
</mrow>
</mrow>
<mo>}</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle M'=\left\{D\in C\mid {\overrightarrow {S_{Q}}}\cap {\overrightarrow {S_{D}}}={\overrightarrow {S_{Q}}}\right\}}</annotation>
</semantics>
</math></span></span>
</p><p>These steps and their proofs are discussed in the 2017 paper.<sup id="cite_ref-:0_3-4" class="reference"><a href="#cite_note-:0-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Pseudocode_for_bit-string_signatures">Pseudocode for bit-string signatures</h3></div>
<p>This algorithm is described in the 2017 paper.<sup id="cite_ref-:0_3-5" class="reference"><a href="#cite_note-:0-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
<span class="mwe-math-element mwe-math-element-block"><span class="mwe-math-mathml-display mwe-math-mathml-a11y" style="display: none;"><math display="block" xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{array}{l}M'=\emptyset \\{\texttt {foreach}}\ D\in C\ {\texttt {do}}\\\qquad {\texttt {if}}\ {\overrightarrow {S_{D}}}\cap {\overrightarrow {S_{Q}}}={\overrightarrow {S_{Q}}}\ {\texttt {then}}\\\qquad \qquad M'=M'\cup \{D\}\\\qquad {\texttt {endif}}\\{\texttt {endfor}}\end{array}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="left" rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msup>
<mi>M</mi>
<mo>′</mo>
</msup>
<mo>=</mo>
<mi mathvariant="normal">∅<!-- ∅ --></mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mtext mathvariant="monospace">foreach</mtext>
</mrow>
</mrow>
<mtext> </mtext>
<mi>D</mi>
<mo>∈<!-- ∈ --></mo>
<mi>C</mi>
<mtext> </mtext>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mtext mathvariant="monospace">do</mtext>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mspace width="2em"></mspace>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mtext mathvariant="monospace">if</mtext>
</mrow>
</mrow>
<mtext> </mtext>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>D</mi>
</mrow>
</msub>
<mo>→<!-- → --></mo>
</mover>
</mrow>
<mo>∩<!-- ∩ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>Q</mi>
</mrow>
</msub>
<mo>→<!-- → --></mo>
</mover>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>Q</mi>
</mrow>
</msub>
<mo>→<!-- → --></mo>
</mover>
</mrow>
<mtext> </mtext>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mtext mathvariant="monospace">then</mtext>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mspace width="2em"></mspace>
<mspace width="2em"></mspace>
<msup>
<mi>M</mi>
<mo>′</mo>
</msup>
<mo>=</mo>
<msup>
<mi>M</mi>
<mo>′</mo>
</msup>
<mo>∪<!-- ∪ --></mo>
<mo fence="false" stretchy="false">{</mo>
<mi>D</mi>
<mo fence="false" stretchy="false">}</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mspace width="2em"></mspace>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mtext mathvariant="monospace">endif</mtext>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mtext mathvariant="monospace">endfor</mtext>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{array}{l}M'=\emptyset \\{\texttt {foreach}}\ D\in C\ {\texttt {do}}\\\qquad {\texttt {if}}\ {\overrightarrow {S_{D}}}\cap {\overrightarrow {S_{Q}}}={\overrightarrow {S_{Q}}}\ {\texttt {then}}\\\qquad \qquad M'=M'\cup \{D\}\\\qquad {\texttt {endif}}\\{\texttt {endfor}}\end{array}}}</annotation>
</semantics>
</math></span></span>
</p>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-InfoWorld-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-InfoWorld_1-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-InfoWorld_1-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFYegulalp2016" class="citation web cs1">Yegulalp, Serdar (September 6, 2016). <a rel="nofollow" class="external text" href="https://www.infoworld.com/article/3116080/microsoft-open-sources-bing-components-for-fast-code-compilation.html">"Microsoft open-sources Bing components for fast code compilation"</a>. <i>InfoWorld</i>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite id="CITEREFVerma2016" class="citation web cs1">Verma, Arpit (2016-09-07). <a rel="nofollow" class="external text" href="https://fossbytes.com/microsoft-working-open-source-search-components-used-power-bing/">"Microsoft Open Sources Major Components Of Bing Search Engine, Here's Why It Matters"</a>. <i>Fossbytes</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2020-06-12</span></span>.</cite></span>
</li>
<li id="cite_note-:0-3"><span class="mw-cite-backlink">^ <a href="#cite_ref-:0_3-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:0_3-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-:0_3-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-:0_3-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-:0_3-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-:0_3-5"><sup><i><b>f</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFGoodwinHopcroftLuuClemmer2017" class="citation book cs1">Goodwin, Bob; Hopcroft, Michael; Luu, Dan; Clemmer, Alex; Curmei, Mihaela; Elnikety, Sameh; He, Yuxiong (2017-08-07). "BitFunnel". <i>Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval</i>. New York, NY, USA: ACM. pp. <span class="nowrap">605–</span>614. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F3077136.3080789">10.1145/3077136.3080789</a></span>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1-4503-5022-8</bdi>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://bitfunnel.org/progress/">"When will BitFunnel be usable? · BitFunnel"</a>. <i>bitfunnel.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2020-06-12</span></span>.</cite></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://github.com/BitFunnel/BitFunnel"><i>BitFunnel/BitFunnel</i></a>, BitFunnel, 2020-05-12<span class="reference-accessdate">, retrieved <span class="nowrap">2020-06-12</span></span></cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://sigir.org/awards/best-paper-awards/">"SIGIR Best Paper Awards"</a>. ACM<span class="reference-accessdate">. Retrieved <span class="nowrap">8 July</span> 2020</span>.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://github.com/BitFunnel">BitFunnel · GitHub</a></li>
<li><a rel="nofollow" class="external text" href="https://bitfunnel.org/">BitFunnel · BitFunnel</a></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Microsoft_free_and_open-source_software_(FOSS)290" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="Microsoft_free_and_open-source_software_(FOSS)290" style="font-size:114%;margin:0 4em"><a href="Microsoft" title="Microsoft">Microsoft</a> <a href="Free_and_open-source_software" title="Free and open-source software">free and open-source software (FOSS)</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Overview</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Microsoft_and_open_source" title="Microsoft and open source">Microsoft and open source</a></li>
<li><a href="Shared_Source_Initiative" title="Shared Source Initiative">Shared Source Initiative</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Software</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Applications</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="3D_Movie_Maker" title="3D Movie Maker">3D Movie Maker</a></li>
<li><a href="Atom_(text_editor)" title="Atom (text editor)">Atom</a></li>
<li><a href="Conference_XP" title="Conference XP">Conference XP</a></li>
<li><a href="Family.Show" title="Family.Show">Family.Show</a></li>
<li><a href="File_Manager_(Windows)" class="mw-redirect" title="File Manager (Windows)">File Manager</a></li>
<li><a href="Open_Live_Writer" title="Open Live Writer">Open Live Writer</a></li>
<li><a href="Microsoft_Edit" class="mw-redirect" title="Microsoft Edit">Microsoft Edit</a></li>
<li><a href="Microsoft_PowerToys" title="Microsoft PowerToys">Microsoft PowerToys</a></li>
<li><a href="Windows_Terminal" title="Windows Terminal">Terminal</a></li>
<li><a href="Windows_Calculator" title="Windows Calculator">Windows Calculator</a></li>
<li><a href="Windows_Console" title="Windows Console">Windows Console</a></li>
<li><a href="Windows_Package_Manager" title="Windows Package Manager">Windows Package Manager</a></li>
<li><a href="WorldWide_Telescope" title="WorldWide Telescope">WorldWide Telescope</a></li>
<li><a href="XML_Notepad" title="XML Notepad">XML Notepad</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Video games</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Allegiance_(video_game)" title="Allegiance (video game)">Allegiance</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Programming<br>languages</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Bosque_(programming_language)" title="Bosque (programming language)">Bosque</a></li>
<li><a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a></li>
<li><a href="Dafny" title="Dafny">Dafny</a></li>
<li><a href="F_Sharp_(programming_language)" title="F Sharp (programming language)">F#</a></li>
<li><a href="F*_(programming_language)" title="F* (programming language)">F*</a></li>
<li><a href="GW-BASIC" title="GW-BASIC">GW-BASIC</a></li>
<li><a href="IronPython" title="IronPython">IronPython</a></li>
<li><a href="IronRuby" title="IronRuby">IronRuby</a></li>
<li><a href="Lean_(proof_assistant)" title="Lean (proof assistant)">Lean</a></li>
<li><a href="P_(programming_language)" title="P (programming language)">P</a></li>
<li><a href="Microsoft_Power_Fx" title="Microsoft Power Fx">Power Fx</a></li>
<li><a href="PowerShell" title="PowerShell">PowerShell</a></li>
<li><a href="Project_Verona" title="Project Verona">Project Verona</a></li>
<li><a href="Q_Sharp" title="Q Sharp">Q#</a></li>
<li><a href="Microsoft_Small_Basic" title="Microsoft Small Basic">Small Basic Online</a></li>
<li><a href="TypeScript" title="TypeScript">TypeScript</a></li>
<li><a href="Visual_Basic_.NET" class="mw-redirect" title="Visual Basic .NET">Visual Basic</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Frameworks,<br>development tools</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href=".NET" title=".NET">.NET</a></li>
<li><a href=".NET_Framework" title=".NET Framework">.NET Framework</a></li>
<li><a href=".NET_Gadgeteer" title=".NET Gadgeteer">.NET Gadgeteer</a></li>
<li><a href=".NET_MAUI" class="mw-redirect" title=".NET MAUI">.NET MAUI</a></li>
<li><a href=".NET_Micro_Framework" title=".NET Micro Framework">.NET Micro Framework</a></li>
<li><a href="AirSim" title="AirSim">AirSim</a></li>
<li><a href="ASP.NET" title="ASP.NET">ASP.NET</a></li>
<li><a href="ASP.NET_AJAX" title="ASP.NET AJAX">ASP.NET AJAX</a></li>
<li><a href="ASP.NET_Core" title="ASP.NET Core">ASP.NET Core</a></li>
<li><a href="ASP.NET_MVC" title="ASP.NET MVC">ASP.NET MVC</a></li>
<li><a href="ASP.NET_Razor" title="ASP.NET Razor">ASP.NET Razor</a></li>
<li><a href="ASP.NET_Web_Forms" title="ASP.NET Web Forms">ASP.NET Web Forms</a></li>
<li><a href="Avalonia_(software_framework)" title="Avalonia (software framework)">Avalonia</a></li>
<li><a href="Babylon.js" title="Babylon.js">Babylon.js</a></li>
<li><a href="Blazor" title="Blazor">Blazor</a></li>
<li><a href="C%2B%2B/WinRT" title="C++/WinRT">C++/WinRT</a></li>
<li><a href="Confidential_Consortium_Framework" title="Confidential Consortium Framework">CCF</a></li>
<li><a href="Chakra_(JavaScript_engine)" title="Chakra (JavaScript engine)">ChakraCore</a></li>
<li><a href="CLR_Profiler" title="CLR Profiler">CLR Profiler</a></li>
<li><a href="Dapr" title="Dapr">Dapr</a></li>
<li><a href="DeepSpeed" title="DeepSpeed">DeepSpeed</a></li>
<li><a href="DiskSpd" title="DiskSpd">DiskSpd</a></li>
<li><a href="Dryad_(programming)" title="Dryad (programming)">Dryad</a></li>
<li><a href="Dynamic_Language_Runtime" title="Dynamic Language Runtime">Dynamic Language Runtime</a></li>
<li><a href="EBPF_on_Windows" class="mw-redirect" title="EBPF on Windows">eBPF on Windows</a></li>
<li><a href="Electron_(software_framework)" title="Electron (software framework)">Electron</a></li>
<li><a href="Entity_Framework" title="Entity Framework">Entity Framework</a></li>
<li><a href="Fluent_Design_System" title="Fluent Design System">Fluent Design System</a></li>
<li><a href="Fluid_Framework" title="Fluid Framework">Fluid Framework</a></li>
<li><a href="Infer.NET" title="Infer.NET">Infer.NET</a></li>
<li><a href="LightGBM" title="LightGBM">LightGBM</a></li>
<li><a href="Managed_Extensibility_Framework" title="Managed Extensibility Framework">Managed Extensibility Framework</a></li>
<li><a href="Microsoft_Automatic_Graph_Layout" title="Microsoft Automatic Graph Layout">Microsoft Automatic Graph Layout</a></li>
<li><a href="Microsoft_C%2B%2B_Standard_Library" class="mw-redirect" title="Microsoft C++ Standard Library">Microsoft C++ Standard Library</a></li>
<li><a href="Microsoft_Cognitive_Toolkit" title="Microsoft Cognitive Toolkit">Microsoft Cognitive Toolkit</a></li>
<li><a href="Metro_(design_language)" title="Metro (design language)">Microsoft Design Language</a></li>
<li><a href="Microsoft_Detours" title="Microsoft Detours">Microsoft Detours</a></li>
<li><a href="Microsoft_Enterprise_Library" title="Microsoft Enterprise Library">Microsoft Enterprise Library</a></li>
<li><a href="Microsoft_SEAL" title="Microsoft SEAL">Microsoft SEAL</a></li>
<li><a href="Mimalloc" title="Mimalloc">mimalloc</a></li>
<li><a href="Mixed_Reality_Toolkit" title="Mixed Reality Toolkit">Mixed Reality Toolkit</a></li>
<li><a href="ML.NET" title="ML.NET">ML.NET</a></li>
<li><a href="Mod_mono" title="Mod mono">mod_mono</a></li>
<li><a href="Mono_(software)" title="Mono (software)">Mono</a></li>
<li><a href="MonoDevelop" title="MonoDevelop">MonoDevelop</a></li>
<li><a href="MSBuild" title="MSBuild">MSBuild</a></li>
<li><a href="MsQuic" title="MsQuic">MsQuic</a></li>
<li><a href="Neural_Network_Intelligence" title="Neural Network Intelligence">Neural Network Intelligence</a></li>
<li><a href="Npm" title="Npm">npm</a></li>
<li><a href="NuGet" title="NuGet">NuGet</a></li>
<li><a href="OneFuzz" title="OneFuzz">OneFuzz</a></li>
<li><a href="Open_Management_Infrastructure" title="Open Management Infrastructure">Open Management Infrastructure</a></li>
<li><a href="Open_Neural_Network_Exchange" title="Open Neural Network Exchange">Open Neural Network Exchange</a></li>
<li><a href="Open_Service_Mesh" title="Open Service Mesh">Open Service Mesh</a></li>
<li><a href="Open_XML_SDK" class="mw-redirect" title="Open XML SDK">Open XML SDK</a></li>
<li><a href="Orleans_(software_framework)" title="Orleans (software framework)">Orleans</a></li>
<li><a href="Playwright_(software)" title="Playwright (software)">Playwright</a></li>
<li><a href="ProcDump" title="ProcDump">ProcDump</a></li>
<li><a href="Process_Monitor" title="Process Monitor">ProcMon</a></li>
<li><a href="Python_Tools_for_Visual_Studio" title="Python Tools for Visual Studio">Python Tools for Visual Studio</a></li>
<li><a href="R_Tools_for_Visual_Studio" title="R Tools for Visual Studio">R Tools for Visual Studio</a></li>
<li><a href="RecursiveExtractor" class="mw-redirect" title="RecursiveExtractor">RecursiveExtractor</a></li>
<li><a href="Roslyn_(compiler)" title="Roslyn (compiler)">Roslyn</a></li>
<li><a href="Sandcastle_(software)" title="Sandcastle (software)">Sandcastle</a></li>
<li><a href="SignalR" title="SignalR">SignalR</a></li>
<li><a href="StyleCop" title="StyleCop">StyleCop</a></li>
<li><a href="SVNBridge" title="SVNBridge">SVNBridge</a></li>
<li><a href="T2_Temporal_Prover" title="T2 Temporal Prover">T2 Temporal Prover</a></li>
<li><a href="Text_Template_Transformation_Toolkit" title="Text Template Transformation Toolkit">Text Template Transformation Toolkit</a></li>
<li><a href="TLA%2B_Toolbox" class="mw-redirect" title="TLA+ Toolbox">TLA+ Toolbox</a></li>
<li><a href="U-Prove" title="U-Prove">U-Prove</a></li>
<li><a href="Vcpkg" title="Vcpkg">vcpkg</a></li>
<li><a href="Virtual_File_System_for_Git" title="Virtual File System for Git">Virtual File System for Git</a></li>
<li><a href="Voldemort_(distributed_data_store)" title="Voldemort (distributed data store)">Voldemort</a></li>
<li><a href="VoTT" title="VoTT">VoTT</a></li>
<li><a href="Vowpal_Wabbit" title="Vowpal Wabbit">Vowpal Wabbit</a></li>
<li><a href="Windows_App_SDK" title="Windows App SDK">Windows App SDK</a></li>
<li><a href="Windows_Communication_Foundation" title="Windows Communication Foundation">Windows Communication Foundation</a></li>
<li><a href="Windows_Driver_Frameworks" title="Windows Driver Frameworks">Windows Driver Frameworks</a>
<ul><li><a href="Kernel-Mode_Driver_Framework" title="Kernel-Mode Driver Framework">KMDF</a></li>
<li><a href="User-Mode_Driver_Framework" title="User-Mode Driver Framework">UMDF</a></li></ul></li>
<li><a href="Windows_Forms" title="Windows Forms">Windows Forms</a></li>
<li><a href="Windows_Presentation_Foundation" title="Windows Presentation Foundation">Windows Presentation Foundation</a></li>
<li><a href="Windows_Template_Library" title="Windows Template Library">Windows Template Library</a></li>
<li><a href="Windows_UI_Library" title="Windows UI Library">Windows UI Library</a></li>
<li><a href="WinJS" title="WinJS">WinJS</a></li>
<li><a href="WinObjC" class="mw-redirect" title="WinObjC">WinObjC</a></li>
<li><a href="WiX" title="WiX">WiX</a></li>
<li><a href="XDP_for_Windows" class="mw-redirect" title="XDP for Windows">XDP for Windows</a></li>
<li><a href="XSP_(software)" title="XSP (software)">XSP</a></li>
<li><a href="XUnit.net" title="XUnit.net">xUnit.net</a></li>
<li><a href="Z3_Theorem_Prover" title="Z3 Theorem Prover">Z3 Theorem Prover</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Operating systems</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="MS-DOS" title="MS-DOS">MS-DOS</a> (v1.25, v2.0 & v4.0)</li>
<li><a href="Barrelfish_(operating_system)" title="Barrelfish (operating system)">Barrelfish</a></li>
<li><a href="SONiC_(operating_system)" title="SONiC (operating system)">SONiC</a></li>
<li><a href="Azure_Linux" title="Azure Linux">Azure Linux</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ChronoZoom" title="ChronoZoom">ChronoZoom</a></li>
<li><a href="Extensible_Storage_Engine" title="Extensible Storage Engine">Extensible Storage Engine</a></li>
<li><a href="FlexWiki" class="mw-redirect" title="FlexWiki">FlexWiki</a></li>
<li><a href="FourQ" title="FourQ">FourQ</a></li>
<li><a href="Gollum_(software)" title="Gollum (software)">Gollum</a></li>
<li><a href="Project_Mu" class="mw-redirect" title="Project Mu">Project Mu</a></li>
<li><a href="ReactiveX" title="ReactiveX">ReactiveX</a></li>
<li><a href="SILK" title="SILK">SILK</a></li>
<li><a href="TLAPS" class="mw-redirect" title="TLAPS">TLAPS</a></li>
<li><a href="TPM_2.0_Reference_Implementation" class="mw-redirect" title="TPM 2.0 Reference Implementation">TPM 2.0 Reference Implementation</a></li>
<li><a href="WikiBhasha" title="WikiBhasha">WikiBhasha</a></li>
<li><a href="Windows_Subsystem_for_Linux" title="Windows Subsystem for Linux">Windows Subsystem for Linux</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Open-source_license" title="Open-source license">Licenses</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Microsoft_Public_License" class="mw-redirect" title="Microsoft Public License">Microsoft Public License</a></li>
<li><a href="Microsoft_Reciprocal_License" class="mw-redirect" title="Microsoft Reciprocal License">Microsoft Reciprocal License</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Forge_(software)" title="Forge (software)">Forges</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CodePlex" title="CodePlex">CodePlex</a></li>
<li><a href="GitHub" title="GitHub">GitHub</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href=".NET_Foundation" title=".NET Foundation">.NET Foundation</a></li>
<li><a href="F_Sharp_Software_Foundation" title="F Sharp Software Foundation">F# Software Foundation</a></li>
<li><a href="Microsoft_Open_Specification_Promise" title="Microsoft Open Specification Promise">Microsoft Open Specification Promise</a></li>
<li><a href="Open_Letter_to_Hobbyists" class="mw-redirect" title="Open Letter to Hobbyists">Open Letter to Hobbyists</a></li>
<li><a href="Open_Source_Security_Foundation" title="Open Source Security Foundation">Open Source Security Foundation</a></li>
<li><a href="Outercurve_Foundation" title="Outercurve Foundation">Outercurve Foundation</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Microsoft_Research_(MSR)216" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Microsoft_Research_(MSR)216" style="font-size:114%;margin:0 4em"><a href="Microsoft_Research" title="Microsoft Research">Microsoft Research (MSR)</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Main<br>projects</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Languages, compilers</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Bartok_(compiler)" title="Bartok (compiler)">Bartok</a></li>
<li><a href="Bosque_(programming_language)" title="Bosque (programming language)">Bosque</a></li>
<li><a href="C%CF%89" class="mw-redirect" title="Cω">Cω</a></li>
<li><a href="F*_(programming_language)" title="F* (programming language)">F*</a></li>
<li><a href="Lean_(proof_assistant)" title="Lean (proof assistant)">Lean</a></li>
<li><a href="P_(programming_language)" title="P (programming language)">P</a></li>
<li><a href="Project_Verona" title="Project Verona">Project Verona</a></li>
<li><a href="Microsoft_Phoenix" title="Microsoft Phoenix">Phoenix</a></li>
<li><a href="Polyphonic_C_Sharp" class="mw-redirect" title="Polyphonic C Sharp">Polyphonic C#</a></li>
<li><a href="SecPAL" title="SecPAL">SecPAL</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Distributed_computing" title="Distributed computing">Distributed</a>–<a href="Grid_computing" title="Grid computing">grid computing</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="BitVault" title="BitVault">BitVault</a></li>
<li><a href="Confidential_Consortium_Framework" title="Confidential Consortium Framework">Confidential Consortium Framework</a></li>
<li><a href="DeepSpeed" title="DeepSpeed">DeepSpeed</a></li>
<li><a href="Orleans_(software_framework)" title="Orleans (software framework)">Orleans</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Internet" title="Internet">Internet</a>, <a href="Computer_network" title="Computer network">networking</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li>AjaxView</li>
<li><a href="Avalanche_(P2P)" title="Avalanche (P2P)">Avalanche</a></li>
<li><a href="Conference_XP" title="Conference XP">Conference XP</a></li>
<li><a href="Gazelle_(web_browser)" title="Gazelle (web browser)">Gazelle</a></li>
<li><a href="HoneyMonkey" title="HoneyMonkey">HoneyMonkey</a></li>
<li><a href="Penny_Black_(research_project)" title="Penny Black (research project)">Penny Black</a></li>
<li><a href="Wallop" title="Wallop">Wallop</a></li>
<li><a href="WikiBhasha" title="WikiBhasha">WikiBhasha</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other projects</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Microsoft_Automatic_Graph_Layout" title="Microsoft Automatic Graph Layout">Automatic Graph Layout</a></li>
<li><a href="Microsoft_Cognitive_Toolkit" title="Microsoft Cognitive Toolkit">Cognitive Toolkit</a></li>
<li><a href="Project_Digits" title="Project Digits">Digits</a></li>
<li><a href="Microsoft_Holoportation" title="Microsoft Holoportation">Holoportation</a></li>
<li><a href="IllumiRoom" title="IllumiRoom">IllumiRoom</a></li>
<li><a href="Image_Composite_Editor" title="Image Composite Editor">Image Composite Editor</a></li>
<li><a href="Infer.NET" title="Infer.NET">Infer.NET</a></li>
<li><a href="LightGBM" title="LightGBM">LightGBM</a></li>
<li><a href="LiveStation" title="LiveStation">LiveStation</a></li>
<li><a href="MyLifeBits" title="MyLifeBits">MyLifeBits</a></li>
<li><a href="Neural_Network_Intelligence" title="Neural Network Intelligence">Neural Network Intelligence</a></li>
<li><a href="NodeXL" title="NodeXL">NodeXL</a></li>
<li><a href="OneFuzz" title="OneFuzz">OneFuzz</a></li>
<li><a href="PhotoDNA" title="PhotoDNA">PhotoDNA</a></li>
<li><a href="Microsoft_SEAL" title="Microsoft SEAL">SEAL</a></li>
<li><a href="SLAM_project" title="SLAM project">SLAM</a></li>
<li><a href="T2_Temporal_Prover" title="T2 Temporal Prover">T2 Temporal Prover</a></li>
<li><a href="WorldWide_Telescope" title="WorldWide Telescope">WorldWide Telescope</a></li>
<li><a href="Z3_Theorem_Prover" title="Z3 Theorem Prover">Z3 Theorem Prover</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Operating_system" title="Operating system">Operating systems</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Barrelfish_(operating_system)" title="Barrelfish (operating system)">Barrelfish</a></li>
<li><a href="HomeOS" title="HomeOS">HomeOS</a></li>
<li><a href="Midori_(operating_system)" title="Midori (operating system)">Midori</a></li>
<li><a href="Singularity_(operating_system)" title="Singularity (operating system)">Singularity</a></li>
<li><a href="Verve_(operating_system)" title="Verve (operating system)">Verve</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="API" title="API">APIs</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Accelerator_(library)" title="Accelerator (library)">Accelerator</a></li>
<li><a href="Dryad_(programming)" title="Dryad (programming)">Dryad</a></li>
<li><a href="Joins_(concurrency_library)" title="Joins (concurrency library)">Joins</a></li>
<li><a href="Mimalloc" title="Mimalloc">mimalloc</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Launched as products</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a></li>
<li><a href="Microsoft_Comic_Chat" title="Microsoft Comic Chat">Comic Chat</a></li>
<li><a href="Microsoft_Detours" title="Microsoft Detours">Detours</a></li>
<li><a href="F_Sharp_(programming_language)" title="F Sharp (programming language)">F#</a></li>
<li><a href="Windows_Desktop_Gadgets" title="Windows Desktop Gadgets">Sideshow</a></li>
<li><a href="Microsoft_PixelSense" title="Microsoft PixelSense">PixelSense</a> (<a href="TouchLight" title="TouchLight">TouchLight</a>)</li>
<li><a href="Microsoft_SenseCam" title="Microsoft SenseCam">SenseCam</a></li>
<li><a href="ClearType" title="ClearType">ClearType</a></li>
<li><a href="Group_Shot" class="mw-redirect" title="Group Shot">Group Shot</a></li>
<li><a href="Allegiance_(video_game)" title="Allegiance (video game)">Allegiance</a></li>
<li><a href="TrueSkill" title="TrueSkill">TrueSkill</a></li>
<li><a href="Microsoft_Songsmith" class="mw-redirect" title="Microsoft Songsmith">Songsmith</a></li>
<li><a href="Xbox" title="Xbox">Xbox</a>
<ul><li><a href="Kinect" title="Kinect">Kinect</a></li></ul></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">MSR Labs<br>applied<br>research</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Microsoft_Live_Labs" title="Microsoft Live Labs">Live Labs</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Current</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Microsoft_Live_Labs_Pivot" title="Microsoft Live Labs Pivot">Pivot</a></li>
<li><a href="Seadragon_Software" title="Seadragon Software">Seadragon</a>
<ul><li><a href="Deep_Zoom" title="Deep Zoom">Deep Zoom</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Discontinued</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Microsoft_Live_Labs_Deepfish" title="Microsoft Live Labs Deepfish">Deepfish</a></li>
<li><a href="Microsoft_Live_Labs_Listas" title="Microsoft Live Labs Listas">Listas</a></li>
<li><a href="Live_Clipboard" title="Live Clipboard">Live Clipboard</a></li>
<li><a href="Photosynth" title="Photosynth">Photosynth</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Microsoft_FUSE_Labs" title="Microsoft FUSE Labs">FUSE Labs</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Docs.com" title="Docs.com">Docs.com</a></li>
<li><a href="Kodu_Game_Lab" title="Kodu Game Lab">Kodu</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other labs</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Microsoft_Academic_Search" title="Microsoft Academic Search">Academic Search</a></li>
<li><a href="Microsoft_adCenter_Labs" title="Microsoft adCenter Labs">adCenter Labs</a></li>
<li><a href="Microsoft_Office" title="Microsoft Office">Office Labs</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-08-06" href="https://en.wikipedia.org/wiki/?title=BitFunnel&oldid=1304476795">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>